// 基础配置
const baseGridCofig = {
    'xAxis.0.axisLine.lineStyle.color':"#b0c2f9",
    'yAxis.0.axisLine.lineStyle.color':"#b0c2f9",
    'xAxis.0.axisLabel.color':"#b0c2f9",
    'yAxis.0.axisLabel.color':"#b0c2f9",
    'legend.textStyle.color':"#b0c2f9",
    // grid位置，但对饼图无效
    'grid.top':40,
    'grid.bottom':10,
    'grid.left':10,
    'grid.right':10,
    // 横向分割线
    'yAxis.0.splitLine':{
        show: true,
        lineStyle: {
            color: '#626a84'
        }
    },
    'tooltip': {
        show: true,
        trigger: "axis",
        // 鼠标放上去效果
        axisPointer: {
            // 显示阴影
            type: "shadow",
            // 不显示x的label
            label: {
                show: true
            }
        }
    }
}
// 基础配置
const basePieCofig = {
    'xAxis.0.axisLine.lineStyle.color':"#b0c2f9",
    'yAxis.0.axisLine.lineStyle.color':"#b0c2f9",
    'xAxis.0.axisLabel.color':"#b0c2f9",
    'yAxis.0.axisLabel.color':"#b0c2f9",
    'legend.textStyle.color':"#b0c2f9",
}
// 常用颜色
const  colorList=['#afa3f5', '#00d488', '#3feed4', '#3bafff', '#f1bb4c', "rgba(250,250,250,0.5)"];
// 渐变颜色
const colorGroup = [
    ["#00FFE3","#4693EC"],
    ["#fccb05","#f5804d"],
    ["#8bd46e","#09bcb7"],
    ["#248ff7","#6851f1"]
]

/**
 * 获取单个bar的配置
 * @param {*} barWidth bar的宽度
 * @param {*} startColor 渐变开始色
 * @param {*} endColor 渐变结束色
 */
// function getBar(index,barWidth,color){
//     let data = {} ;
//     // bar的宽度
//     data["series."+index+".barWidth"] = barWidth
//     // bar的边框圆角
//     data["series."+index+".itemStyle.normal.barBorderRadius"] = 10
//     // bar的渐变色
//     data["series."+index+".itemStyle.normal.color"] = {
//         type: "linear",x: 0,y: 0,x2: 0,y2: 1,
//         colorStops: [
//             {offset: 0,color: color[0]},
//             {offset: 1,color: color[1]}
//         ]
//     }
//     return data
// }


export default {
    /**
     * 获取line相关的配置
     */
    getLineOption : function(){
        
        let option = Object.assign({}, baseGridCofig)
        
        return option ;
    } ,
    /**
     * 获取bar相关的配置
     * @param {int } metricsCount 指标数
     */
    getBarOption : function(metricsCount){
        let barWidth = (100 / (metricsCount+1)) + "%"
        
        let option = Object.assign({}, baseGridCofig)
        for(var i=0 ; i<metricsCount; i++){
            // Object.assign(option, getBar(i, barWidth,colorGroup[i]))
            // bar的宽度
            option["series."+i+".barWidth"] = barWidth
            option["series."+i+".barMaxWidth"] = '15px'
            // bar的边框圆角
            option["series."+i+".itemStyle.normal.barBorderRadius"] = 10
            // bar的渐变色
            option["series."+i+".itemStyle.normal.color"] = {
                type: "linear",x: 0,y: 0,x2: 0,y2: 1,
                colorStops: [
                    {offset: 0,color: colorGroup[i][0]},
                    {offset: 1,color: colorGroup[i][1]}
                ]
            }
        }
        return option ;
    }  ,
    /**
     * 获取Pie相关的配置
     * @param {Array} center 中心点
     * @param {string} radius 半径
     */
    getPieOption : function(center, radius){
        
        let option = Object.assign({}, basePieCofig)
        // 环图外半径与内半径，如果是字符串，则是外半径
        option["series.0.radius"] = radius? radius : '70%'
        // 中心点位置
        option["series.0.center"] = center? center : ['50%','60%']
        option['legend'] = {
            show: true
        }
        return option ;
    }   ,
    /**
     * 获取Ring相关的配置
     * @param {Array} center 中心点
     * @param {Array} radius 内半径和外半径
     */
    getRingOption : function(center, radius){
        
        let option = Object.assign({}, basePieCofig)
        // 环图外半径与内半径
        option["series.0.radius"] = radius? radius : ['50%','70%']
        // 中心点位置
        option["series.0.center"] = center? center : ['50%','60%']
        option['legend'] = {
            show: true
        }
        return option ;
    } 
}
